//
//  NSString+deviceToken.m
//  FZAH
//
//  Created by Yoga on 2017/4/10.
//  Copyright © 2017年 zdqk. All rights reserved.
//

#import "NSString+deviceToken.h"
#import <sys/utsname.h>

@implementation NSString (deviceToken)

+ (NSString *)transformFromDeviceToken:(NSData *)deviceToken {
    if (!deviceToken) {
        return nil;
    }
    
    NSString *tokeStr = [NSString stringWithFormat:@"%@",deviceToken];
    // 字符串长度
    NSInteger stringLenght = [tokeStr lengthOfBytesUsingEncoding:NSUTF32StringEncoding]/4;
    NSString *tempStr = [tokeStr substringWithRange:NSMakeRange(1,stringLenght-1)];
    NSString *tempToStr = [tempStr substringToIndex:tempStr.length-1];
    
    NSMutableString *mutableString = [[NSMutableString alloc] init];
    NSArray<NSString *> *spArray = [tempToStr componentsSeparatedByString:@" "];
    for (NSString *temp in spArray) {
        [mutableString appendString:temp];
    }
    NSString *finalDeviceToken = [NSString stringWithString:mutableString];
    
    return finalDeviceToken;
}

+ (NSString *)iphoneType {
    
    struct utsname systemInfo;
    
    uname(&systemInfo);
    
    NSString * platform = [NSString stringWithCString: systemInfo.machine encoding:NSASCIIStringEncoding];
    
    if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4";
    
    if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4";
    
    if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4";
    
    if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";
    
    if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5";
    
    if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5";
    
    if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c";
    
    if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c";
    
    if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s";
    
    if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s";
    
    if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus";
    
    if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6";
    
    if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone 6s";
    
    if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus";
    
    if ([platform isEqualToString:@"iPhone8,4"]) return @"iPhone SE";
    
    if ([platform isEqualToString:@"iPhone9,1"]) return @"iPhone 7";
    
    if ([platform isEqualToString:@"iPhone9,2"]) return @"iPhone 7 Plus";
    
    if ([platform isEqualToString:@"iPhone10,1"]) return @"iPhone 8";
    
    if ([platform isEqualToString:@"iPhone10,4"]) return @"iPhone 8";
    
    if ([platform isEqualToString:@"iPhone10,2"]) return @"iPhone 8 Plus";
    
    if ([platform isEqualToString:@"iPhone10,5"]) return @"iPhone 8 Plus";
    
    if ([platform isEqualToString:@"iPhone10,3"]) return @"iPhone X";
    
    if ([platform isEqualToString:@"iPhone10,6"]) return @"iPhone X";
    
    if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G";
    
    if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G";
    
    if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G";
    
    if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G";
    
    if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G";
    
    if ([platform isEqualToString:@"iPad1,1"]) return @"iPad 1G";
    
    if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2";
    
    if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2";
    
    if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2";
    
    if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2";
    
    if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini 1G";
    
    if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini 1G";
    
    if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini 1G";
    
    if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3";
    
    if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3";
    
    if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3";
    
    if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4";
    
    if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4";
    
    if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4";
    
    if ([platform isEqualToString:@"iPad4,1"]) return @"iPad Air";
    
    if ([platform isEqualToString:@"iPad4,2"]) return @"iPad Air";
    
    if ([platform isEqualToString:@"iPad4,3"]) return @"iPad Air";
    
    if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2G";
    
    if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2G";
    
    if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2G";
    
    if ([platform isEqualToString:@"iPad4,7"]) return @"iPad Mini 3";
    
    if ([platform isEqualToString:@"iPad4,8"]) return @"iPad Mini 3";
    
    if ([platform isEqualToString:@"iPad4,9"]) return @"iPad Mini 3";
    
    if ([platform isEqualToString:@"iPad5,1"]) return @"iPad Mini 4";
    
    if ([platform isEqualToString:@"iPad5,2"]) return @"iPad Mini 4";
    
    if ([platform isEqualToString:@"iPad5,3"]) return @"iPad Air 2";
    
    if ([platform isEqualToString:@"iPad5,4"]) return @"iPad Air 2";
    
    if ([platform isEqualToString:@"iPad6,3"]) return @"iPad Pro 9.7";
    
    if ([platform isEqualToString:@"iPad6,4"]) return @"iPad Pro 9.7";
    
    if ([platform isEqualToString:@"iPad6,7"]) return @"iPad Pro 12.9";
    
    if ([platform isEqualToString:@"iPad6,8"]) return @"iPad Pro 12.9";
    
    if ([platform isEqualToString:@"i386"]) return @"iPhone Simulator";
    
    if ([platform isEqualToString:@"x86_64"]) return @"iPhone Simulator";
    
    return platform;
}
+ (NSString *)getIntroImageName {
    NSString *iPhoneType = [NSString iphoneType];
    if ([iPhoneType isEqualToString:@"iPhone X"]) {
        return @"1125-2436";
    }
    if ([iPhoneType isEqualToString:@"iPhone 8 Plus"] || [iPhoneType isEqualToString:@"iPhone 7 Plus"] || [iPhoneType isEqualToString:@"iPhone 6s Plus"] || [iPhoneType isEqualToString:@"iPhone 6 Plus"]) {
        return @"1242-2208";
    }
    if ([iPhoneType isEqualToString:@"iPhone 8"] || [iPhoneType isEqualToString:@"iPhone 7"] || [iPhoneType isEqualToString:@"iPhone 6s"] || [iPhoneType isEqualToString:@"iPhone 6"]) {
        return @"750-1334";
    }
    if ([iPhoneType isEqualToString:@"iPhone SE"] || [iPhoneType isEqualToString:@"iPhone 5s"] || [iPhoneType isEqualToString:@"iPhone 5c"] || [iPhoneType isEqualToString:@"iPhone 5"]) {
        return @"640-1136";
    }
    if ([iPhoneType isEqualToString:@"iPhone 4"] || [iPhoneType isEqualToString:@"iPhone 4s"]) {
        return @"640-960";
    }
    
    return @"640-960";
}

@end
